<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GtkMenuShell</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="index.html" title="GTK+ 2 Reference Manual">
<link rel="up" href="AbstractObjects.html" title="Abstract Base Classes">
<link rel="prev" href="GtkItem.html" title="GtkItem">
<link rel="next" href="GtkMisc.html" title="GtkMisc">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="GtkItem.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="AbstractObjects.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GTK+ 2 Reference Manual</th>
<td><a accesskey="n" href="GtkMisc.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#GtkMenuShell.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#GtkMenuShell.description" class="shortcut">Description</a>
                   | 
                  <a href="#GtkMenuShell.object-hierarchy" class="shortcut">Object Hierarchy</a>
                   | 
                  <a href="#GtkMenuShell.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
                   | 
                  <a href="#GtkMenuShell.properties" class="shortcut">Properties</a>
                   | 
                  <a href="#GtkMenuShell.signals" class="shortcut">Signals</a>
</td></tr>
</table>
<div class="refentry">
<a name="GtkMenuShell"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GtkMenuShell.top_of_page"></a>GtkMenuShell</span></h2>
<p>GtkMenuShell — A base class for menu objects</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="GtkMenuShell.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include &lt;gtk/gtk.h&gt;

struct              <a class="link" href="GtkMenuShell.html#GtkMenuShell-struct" title="struct GtkMenuShell">GtkMenuShell</a>;
<span class="returnvalue">void</span>                <a class="link" href="GtkMenuShell.html#gtk-menu-shell-append" title="gtk_menu_shell_append ()">gtk_menu_shell_append</a>               (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *child</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkMenuShell.html#gtk-menu-shell-prepend" title="gtk_menu_shell_prepend ()">gtk_menu_shell_prepend</a>              (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *child</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkMenuShell.html#gtk-menu-shell-insert" title="gtk_menu_shell_insert ()">gtk_menu_shell_insert</a>               (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *child</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> position</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkMenuShell.html#gtk-menu-shell-deactivate" title="gtk_menu_shell_deactivate ()">gtk_menu_shell_deactivate</a>           (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkMenuShell.html#gtk-menu-shell-select-item" title="gtk_menu_shell_select_item ()">gtk_menu_shell_select_item</a>          (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *menu_item</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkMenuShell.html#gtk-menu-shell-select-first" title="gtk_menu_shell_select_first ()">gtk_menu_shell_select_first</a>         (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> search_sensitive</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkMenuShell.html#gtk-menu-shell-deselect" title="gtk_menu_shell_deselect ()">gtk_menu_shell_deselect</a>             (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkMenuShell.html#gtk-menu-shell-activate-item" title="gtk_menu_shell_activate_item ()">gtk_menu_shell_activate_item</a>        (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *menu_item</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> force_deactivate</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkMenuShell.html#gtk-menu-shell-cancel" title="gtk_menu_shell_cancel ()">gtk_menu_shell_cancel</a>               (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkMenuShell.html#gtk-menu-shell-set-take-focus" title="gtk_menu_shell_set_take_focus ()">gtk_menu_shell_set_take_focus</a>       (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> take_focus</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GtkMenuShell.html#gtk-menu-shell-get-take-focus" title="gtk_menu_shell_get_take_focus ()">gtk_menu_shell_get_take_focus</a>       (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);
enum                <a class="link" href="GtkMenuShell.html#GtkMenuDirectionType" title="enum GtkMenuDirectionType">GtkMenuDirectionType</a>;
</pre>
</div>
<div class="refsect1">
<a name="GtkMenuShell.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
   +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
         +----<a class="link" href="GtkObject.html" title="GtkObject">GtkObject</a>
               +----<a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a>
                     +----<a class="link" href="GtkContainer.html" title="GtkContainer">GtkContainer</a>
                           +----GtkMenuShell
                                 +----<a class="link" href="GtkMenuBar.html" title="GtkMenuBar">GtkMenuBar</a>
                                 +----<a class="link" href="GtkMenu.html" title="GtkMenu">GtkMenu</a>
</pre>
</div>
<div class="refsect1">
<a name="GtkMenuShell.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
GtkMenuShell implements
 AtkImplementorIface and  <a class="link" href="GtkBuildable.html" title="GtkBuildable">GtkBuildable</a>.</p>
</div>
<div class="refsect1">
<a name="GtkMenuShell.properties"></a><h2>Properties</h2>
<pre class="synopsis">
  "<a class="link" href="GtkMenuShell.html#GtkMenuShell--take-focus" title='The "take-focus" property'>take-focus</a>"               <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
</pre>
</div>
<div class="refsect1">
<a name="GtkMenuShell.signals"></a><h2>Signals</h2>
<pre class="synopsis">
  "<a class="link" href="GtkMenuShell.html#GtkMenuShell-activate-current" title='The "activate-current" signal'>activate-current</a>"                               : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a>
  "<a class="link" href="GtkMenuShell.html#GtkMenuShell-cancel" title='The "cancel" signal'>cancel</a>"                                         : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a>
  "<a class="link" href="GtkMenuShell.html#GtkMenuShell-cycle-focus" title='The "cycle-focus" signal'>cycle-focus</a>"                                    : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a>
  "<a class="link" href="GtkMenuShell.html#GtkMenuShell-deactivate" title='The "deactivate" signal'>deactivate</a>"                                     : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a>
  "<a class="link" href="GtkMenuShell.html#GtkMenuShell-move-current" title='The "move-current" signal'>move-current</a>"                                   : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a>
  "<a class="link" href="GtkMenuShell.html#GtkMenuShell-move-selected" title='The "move-selected" signal'>move-selected</a>"                                  : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
  "<a class="link" href="GtkMenuShell.html#GtkMenuShell-selection-done" title='The "selection-done" signal'>selection-done</a>"                                 : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a>
</pre>
</div>
<div class="refsect1">
<a name="GtkMenuShell.description"></a><h2>Description</h2>
<p>
A <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> is the abstract base class used to derive the
<a class="link" href="GtkMenu.html" title="GtkMenu"><span class="type">GtkMenu</span></a> and <a class="link" href="GtkMenuBar.html" title="GtkMenuBar"><span class="type">GtkMenuBar</span></a> subclasses.
</p>
<p>
A <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> is a container of <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> objects arranged in a
list which can be navigated, selected, and activated by the user to perform
application functions.  A <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> can have a submenu associated with it,
allowing for nested hierarchical menus.
</p>
</div>
<div class="refsect1">
<a name="GtkMenuShell.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="GtkMenuShell-struct"></a><h3>struct GtkMenuShell</h3>
<pre class="programlisting">struct GtkMenuShell;</pre>
<p>
The <a class="link" href="GtkMenuShell.html#GtkMenuShell-struct" title="struct GtkMenuShell"><span class="type">GtkMenuShell</span></a> struct contains the following fields.
(These fields should be considered read-only. They should never be set by
an application.)
</p>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col>
<col>
</colgroup>
<tbody><tr>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *children;</td>
<td>The list of <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> objects contained by this <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>.
</td>
</tr></tbody>
</table></div>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-append"></a><h3>gtk_menu_shell_append ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_append               (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *child</code></em>);</pre>
<p>
Adds a new <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> to the end of the menu shell's item list.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>child</code></em> :</span></p></td>
<td>The <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> to add.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-prepend"></a><h3>gtk_menu_shell_prepend ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_prepend              (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *child</code></em>);</pre>
<p>
Adds a new <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> to the beginning of the menu shell's item list.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>child</code></em> :</span></p></td>
<td>The <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> to add.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-insert"></a><h3>gtk_menu_shell_insert ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_insert               (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *child</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> position</code></em>);</pre>
<p>
Adds a new <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> to the menu shell's item list at the position
indicated by <em class="parameter"><code>position</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>child</code></em> :</span></p></td>
<td>The <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> to add.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>position</code></em> :</span></p></td>
<td>The position in the item list where <em class="parameter"><code>child</code></em> is added.
Positions are numbered from 0 to n-1.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-deactivate"></a><h3>gtk_menu_shell_deactivate ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_deactivate           (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);</pre>
<p>
Deactivates the menu shell.  Typically this results in the menu shell
being erased from the screen.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-select-item"></a><h3>gtk_menu_shell_select_item ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_select_item          (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *menu_item</code></em>);</pre>
<p>
Selects the menu item from the menu shell.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_item</code></em> :</span></p></td>
<td>The <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> to select.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-select-first"></a><h3>gtk_menu_shell_select_first ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_select_first         (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> search_sensitive</code></em>);</pre>
<p>
Select the first visible or selectable child of the menu shell;
don't select tearoff items unless the only item is a tearoff
item.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>search_sensitive</code></em> :</span></p></td>
<td>if <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, search for the first selectable
menu item, otherwise select nothing if
the first item isn't sensitive. This
should be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if the menu is being
popped up initially.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.2</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-deselect"></a><h3>gtk_menu_shell_deselect ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_deselect             (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);</pre>
<p>
Deselects the currently selected item from the menu shell, if any.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>.</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-activate-item"></a><h3>gtk_menu_shell_activate_item ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_activate_item        (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *menu_item</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> force_deactivate</code></em>);</pre>
<p>
Activates the menu item within the menu shell.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_item</code></em> :</span></p></td>
<td>The <a class="link" href="GtkMenuItem.html" title="GtkMenuItem"><span class="type">GtkMenuItem</span></a> to activate.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>force_deactivate</code></em> :</span></p></td>
<td>If TRUE, force the deactivation of the menu shell
after the menu item is activated.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-cancel"></a><h3>gtk_menu_shell_cancel ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_cancel               (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);</pre>
<p>
Cancels the selection within the menu shell.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>
</td>
</tr></tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-set-take-focus"></a><h3>gtk_menu_shell_set_take_focus ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_menu_shell_set_take_focus       (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> take_focus</code></em>);</pre>
<p>
If <em class="parameter"><code>take_focus</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> (the default) the menu shell will take the keyboard 
focus so that it will receive all keyboard events which is needed to enable
keyboard navigation in menus.
</p>
<p>
Setting <em class="parameter"><code>take_focus</code></em> to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> is useful only for special applications
like virtual keyboard implementations which should not take keyboard
focus.
</p>
<p>
The <em class="parameter"><code>take_focus</code></em> state of a menu or menu bar is automatically propagated
to submenus whenever a submenu is popped up, so you don't have to worry
about recursively setting it for your entire menu hierarchy. Only when
programmatically picking a submenu and popping it up manually, the
<em class="parameter"><code>take_focus</code></em> property of the submenu needs to be set explicitely.
</p>
<p>
Note that setting it to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> has side-effects:
</p>
<p>
If the focus is in some other app, it keeps the focus and keynav in
the menu doesn't work. Consequently, keynav on the menu will only
work if the focus is on some toplevel owned by the onscreen keyboard.
</p>
<p>
To avoid confusing the user, menus with <em class="parameter"><code>take_focus</code></em> set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
should not display mnemonics or accelerators, since it cannot be
guaranteed that they will work.
</p>
<p>
See also <a href="../gdk/gdk-General.html#gdk-keyboard-grab"><code class="function">gdk_keyboard_grab()</code></a>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>take_focus</code></em> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the menu shell should take the keyboard focus on popup.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.8</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-menu-shell-get-take-focus"></a><h3>gtk_menu_shell_get_take_focus ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_menu_shell_get_take_focus       (<em class="parameter"><code><a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell</code></em>);</pre>
<p>
Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the menu shell will take the keyboard focus on popup.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>a <a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the menu shell will take the keyboard focus on popup.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.8</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkMenuDirectionType"></a><h3>enum GtkMenuDirectionType</h3>
<pre class="programlisting">typedef enum {
  GTK_MENU_DIR_PARENT,
  GTK_MENU_DIR_CHILD,
  GTK_MENU_DIR_NEXT,
  GTK_MENU_DIR_PREV
} GtkMenuDirectionType;
</pre>
<p>
An enumeration representing directional movements within a menu.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="GTK-MENU-DIR-PARENT:CAPS"></a><span class="term"><code class="literal">GTK_MENU_DIR_PARENT</code></span></p></td>
<td>To the parent menu shell.
</td>
</tr>
<tr>
<td><p><a name="GTK-MENU-DIR-CHILD:CAPS"></a><span class="term"><code class="literal">GTK_MENU_DIR_CHILD</code></span></p></td>
<td>To the submenu, if any, associated with the item.
</td>
</tr>
<tr>
<td><p><a name="GTK-MENU-DIR-NEXT:CAPS"></a><span class="term"><code class="literal">GTK_MENU_DIR_NEXT</code></span></p></td>
<td>To the next menu item.
</td>
</tr>
<tr>
<td><p><a name="GTK-MENU-DIR-PREV:CAPS"></a><span class="term"><code class="literal">GTK_MENU_DIR_PREV</code></span></p></td>
<td>To the previous menu item.
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1">
<a name="GtkMenuShell.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GtkMenuShell--take-focus"></a><h3>The <code class="literal">"take-focus"</code> property</h3>
<pre class="programlisting">  "take-focus"               <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
<p>
A boolean that determines whether the menu and its submenus grab the
keyboard focus. See <a class="link" href="GtkMenuShell.html#gtk-menu-shell-set-take-focus" title="gtk_menu_shell_set_take_focus ()"><code class="function">gtk_menu_shell_set_take_focus()</code></a> and
<a class="link" href="GtkMenuShell.html#gtk-menu-shell-get-take-focus" title="gtk_menu_shell_get_take_focus ()"><code class="function">gtk_menu_shell_get_take_focus()</code></a>.
</p>
<p>Default value: TRUE</p>
<p class="since">Since 2.8</p>
</div>
</div>
<div class="refsect1">
<a name="GtkMenuShell.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="GtkMenuShell-activate-current"></a><h3>The <code class="literal">"activate-current"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menushell,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>      arg1,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a></pre>
<p>
An action signal that activates the current menu item within the menu
shell.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menushell</code></em> :</span></p></td>
<td>the object which received the signal.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>force_hide</code></em> :</span></p></td>
<td>if TRUE, hide the menu after activating the menu item.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkMenuShell-cancel"></a><h3>The <code class="literal">"cancel"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menushell,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a></pre>
<p>
An action signal which cancels the selection within the menu shell.
Causes the GtkMenuShell::selection-done signal to be emitted.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menushell</code></em> :</span></p></td>
<td>the object which received the signal.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkMenuShell-cycle-focus"></a><h3>The <code class="literal">"cycle-focus"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>    *menushell,
                                                        <a class="link" href="gtk-Standard-Enumerations.html#GtkDirectionType" title="enum GtkDirectionType"><span class="type">GtkDirectionType</span></a> arg1,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>         user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a></pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menushell</code></em> :</span></p></td>
<td>the object which received the signal.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkMenuShell-deactivate"></a><h3>The <code class="literal">"deactivate"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menushell,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a></pre>
<p>
This signal is emitted when a menu shell is deactivated.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menushell</code></em> :</span></p></td>
<td>the object which received the signal.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkMenuShell-move-current"></a><h3>The <code class="literal">"move-current"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a>        *menushell,
                                                        <a class="link" href="GtkMenuShell.html#GtkMenuDirectionType" title="enum GtkMenuDirectionType"><span class="type">GtkMenuDirectionType</span></a> arg1,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>             user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a></pre>
<p>
An action signal which moves the current menu item in the direction
specified by <em class="parameter"><code>direction</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menushell</code></em> :</span></p></td>
<td>the object which received the signal.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>direction</code></em> :</span></p></td>
<td>the direction to move.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkMenuShell-move-selected"></a><h3>The <code class="literal">"move-selected"</code> signal</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            user_function                      (<a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menu_shell,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>          distance,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data)       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The ::move-selected signal is emitted to move the selection to
another item.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menu_shell</code></em> :</span></p></td>
<td>the object on which the signal is emitted</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>distance</code></em> :</span></p></td>
<td>+1 to move to the next item, -1 to move to the previous</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to stop the signal emission, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to continue</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.12</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkMenuShell-selection-done"></a><h3>The <code class="literal">"selection-done"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkMenuShell.html" title="GtkMenuShell"><span class="type">GtkMenuShell</span></a> *menushell,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a></pre>
<p>
This signal is emitted when a selection has been completed within a menu
shell.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>menushell</code></em> :</span></p></td>
<td>the object which received the signal.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.18</div>
</body>
</html>